const { htmlToDocx } = require('../dist/lib/index.js');

async function testBase64Image() {
  // 一个简单的 1x1 像素的红色 PNG 图片的 base64 编码
  const base64Image = '';

  const html = `
    <h1>Base64 图片测试</h1>
    <p>下面是一个 base64 编码的图片：</p>
    <img src="${base64Image}" alt="测试图片" style="width: 100px; height: 100px;" />
    <p>图片应该显示在文档中。</p>
  `;

  try {
    console.log('开始转换 HTML 到 DOCX...');
    console.log('HTML 内容:', html);

    const result = await htmlToDocx(html);
    console.log('转换成功！');
    console.log('警告信息:', result.warnings);

    // 检查文档内容
    const documentWrapper = result.document.documentWrapper;
    const document = documentWrapper.document;
    const body = document.body;

    console.log('Body root 长度:', body.root.length);

    body.root.forEach((item, index) => {
      console.log(`\n=== 项目 ${index} ===`);
      console.log('项目类型:', item.constructor.name);

      if (item.constructor.name === 'Paragraph') {
        console.log('段落属性:', Object.keys(item));

        if (item.root) {
          console.log('段落 root 长度:', item.root.length);
          item.root.forEach((rootItem, rootIndex) => {
            console.log(`  Root ${rootIndex}:`, rootItem.constructor.name);

            if (rootItem.constructor.name === 'ImageRun') {
              console.log('  找到图片运行！');
              console.log('  图片运行属性:', Object.keys(rootItem));

              if (rootItem.properties) {
                console.log('  图片属性:', rootItem.properties);
              }

              if (rootItem.imageData) {
                console.log('  图片数据存在，大小:', rootItem.imageData.length, '字节');
              }

              if (rootItem.root) {
                console.log('  图片 root 长度:', rootItem.root.length);
                rootItem.root.forEach((rootChild, childIndex) => {
                  console.log(`    子元素 ${childIndex}:`, rootChild.constructor.name);
                  if (rootChild.constructor.name === 'Drawing') {
                    console.log('    找到 Drawing 元素！');
                    console.log('    Drawing 属性:', Object.keys(rootChild));
                  }
                });
              }
            }
          });
        }
      }
    });

    // 尝试生成文件
    const { docxToBuffer } = require('../dist/lib/index.js');
    const buffer = await docxToBuffer(result.document);
    console.log('生成的文档大小:', buffer.length, '字节');
  } catch (error) {
    console.error('转换失败:', error);
  }
}

testBase64Image();
